package com.tencent.iov.cowin.befsale.clue.controller.clue.vo.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tencent.iov.cowin.befsale.clue.domain.cus.po.CustomerBehavior;
import com.software.boot.common.model.rest.BaseResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * _Response层
 *
 * @author whp
 * @version 1.0
 * @created 2021-12-23 14:53:43
 */
@Data
public class ClueCustomerCollectResponse implements BaseResponse {

    /**
     * 主键
     **/
    private Long id;
    /**
     * 线索id
     **/
    private Long clueId;
    /**
     * 线索状态（ 0跟进中 10已到店，15已下订，20已交车，25已实销，30战败审核 35已战败 跟进内容关联关系
     **/
    private Integer clueStatus;
    /**
     * 线索创建时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date clueCreatedTime;
    /**
     * 线索下发经销商时间
     */
    @ApiModelProperty(value = "线索下发经销商时间", example = "2022-03-28T13:46:56.711Z")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cluePlanTime;

    /**
     * 战败申请人
     **/
    private Long failEmpId;
    /**
     * 线索战败时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date failCreatedTime;
    /**
     * 战败主因 list id标签
     **/
    private String failReasonCodes;
    /**
     * 战败备注
     **/
    private String failRemark;
    /**
     * 审批备注战败时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date approveCreatedTime;
    /**
     * 审批备注
     **/
    private String approveRemark;
    /**
     * 战败状态（0待审批，1同意战败、2拒绝战败 3战败激活
     **/
    private Integer failStatus;
    /**
     * 客户表主键
     **/
    private Long cusId;
    /**
     * 外部联系人头像，第三方不可获取
     **/
    private String avatar;
    /**
     * 姓名
     **/
    private String name;

	@ApiModelProperty("渠道code")
	private String sourceThird;

	@ApiModelProperty("活动code")
	private String sourceActivityId;

    /**
     * 手机号
     **/
    private String phone;
    /**
     * 备用手机号
     **/
    private String phoneBak;
    /**
     * 性别
     **/
    private Integer gender;
    /**
     * 客户类型 个人/公司
     **/
    private Integer typeCode;
    /**
     * 年龄
     **/
    private Integer age;
    /**
     * 婚姻
     **/
    private String marriage;
    /**
     * 生日
     **/
    private String birthday;
    /**
     * 省code
     **/
    private String provinceCode;
    /**
     * 市code
     **/
    private String cityCode;
    /**
     * 区code
     **/
    private String districtCode;
    /**
     * 详细地址
     **/
    private String address;
    /**
     * 微信昵称
     **/
    private String qwName;
    /**
     * 主数据customer_base表主键id
     */
    @ApiModelProperty(value = "主数据customer_base表主键id", example = "stringValue")
    private Long customerBaseId;
    /**
     * 外部联系人id
     */
    @ApiModelProperty(value = "外部联系人id", example = "stringValue")
    private String externalUserid;
    /**
     * 客户备注
     **/
    private String cusRemark;
    /**
     * 产品介绍code list id标签
     **/
    private String prodCode;
    /**
     * 好友状态 0未绑定好友，1 已绑定好友
     **/
    private Integer firendStaus;
    /**
     * 意向等级_意向字典
     **/
    private String intentionGrade;
    /**
     * 意向品牌id ，最新一条
     **/
    private String brandId;
    /**
     * 车系 最新一条
     **/
    private String seriesId;
    /**
     * 意向车型id ，最新一条
     **/
    private String modelId;
    /**
     * 意向车型id ，最新一条
     **/
    private String modelYearId;
    /**
     * 意向配置id ，最新一条
     **/
    private String configId;
    /**
     * 分配顾问时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date distributeTime;
    /**
     * 跟进人id，org_成员id
     **/
    private Long followEmpId;
    /**
     * 跟进人姓名
     **/
    private String followEmpName;
    /**
     * 本次跟进备注
     **/
    private String followRemark;
    /**
     * 本次跟进时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date followTime;
    /**
     * 跟进内容标签id（到店接待，试乘试驾，下订，交车）
     **/
    private String followContent;
    /**
     * 跟进次数
     **/
    private Long followNum;
    /**
     * 最近一次试乘试驾时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date driveTime;
    /**
     * 订单创建时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderCreatedTime;
    /**
     * 实销创建时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deliveryCreatedTime;
    /**
     * 下次计划跟进内容标签id（0产品介绍 1到店接待，2试乘试驾，3下订，4交车）
     **/
    private String planFollowContent;
    /**
     * 下次跟进时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date planFollowTime;
    /**
     * 下次跟进时间code
     **/
    private String planFollowTimeCode;
    /**
     * 下次跟进预约id
     **/
    private Long planFollowId;
    /**
     * 跟进备注
     **/
    private String planFollowRemark;
    /**
     * 租户id
     **/
    private String tenantId;
    /**
     * 经销商id
     **/
    private String dealerId;
    /**
     * 企微id
     **/
    private String corpId;
    /**
     * 第三方预约编号
     **/
    private Long arrangeNo;
    /**
     * 线索源状态（0新建、1已处理，2重复无效、3手机号码无效、4电话无效)
     **/
    private Integer status;
    /**
     * 删除标志（0：代表存在、-1：代表删除）
     **/
    private Integer deleted;
    /**
     * 创建人
     **/
    private String createdBy;
    /**
     * 创建人名称
     **/
    private String createdName;
    /**
     * 创建时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;
    /**
     * 修改人
     **/
    private String updatedBy;
    /**
     * 修改人名称
     **/
    private String updatedName;
    /**
     * 修改时间
     **/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;
    /**
     * 线索源状态value值
     */
    @ApiModelProperty(value = "线索源状态value值", example = "1")
    private String clueStatusStr;
    /**
     * 战败状态（0待审批，1同意战败、2拒绝战败 3战败激活
     */
    @ApiModelProperty(value = "战败状态（0待审批，1同意战败、2拒绝战败 3战败激活", example = "1")
    private String failStatusStr;
    /**
     * 分配状态
     */
    @ApiModelProperty(value = "分配状态 -1已逾期  0 待分配  1已分配", example = "stringValue")
    private Integer distributeStatus;

    @ApiModelProperty(value = "基本标签，意向标签code-name对应的json信息")
    private String codeNameInfo;

    @ApiModelProperty(value = "总部客户行为标签信息")
    private String oemCusBehavior;

    @ApiModelProperty(value = "经销商客户行为标签信息")
    private String dealerCusBehavior;
    @ApiModelProperty(value = "行为标签")
    private CustomerBehavior customerBehavior;

    @ApiModelProperty(value = "意向车型车系信息")
    private List<ClueIntentionVehicleResponse> vehicleList;

    @ApiModelProperty(value = "意向车型车系 -> 车系-车型，车系-车型")
    private String vehInfo;

    @ApiModelProperty(value = "经销商名称")
    private String dealerName;

    @ApiModelProperty(value = "区域名称")
    private String sectorName;
}